#ifndef WATERFLOATBUTTON_H
#define WATERFLOATBUTTON_H

#include "InteractiveButtonBase.h"

class WaterFloatButton final : public InteractiveButtonBase {
public:
    explicit WaterFloatButton(QWidget *parent = nullptr);

    explicit WaterFloatButton(QString s, QWidget *parent = nullptr);

protected:
    void enterEvent(QEnterEvent *event) override;

    void leaveEvent(QEvent *event) override;

    void mousePressEvent(QMouseEvent *event) override;

    void mouseReleaseEvent(QMouseEvent *event) override;

    void mouseMoveEvent(QMouseEvent *event) override;

    void resizeEvent(QResizeEvent *event) override;

    void paintEvent(QPaintEvent *event) override;

    QPainterPath getBgPainterPath() override;

    QPainterPath getWaterPainterPath(Water water) override;

    bool inArea(const QPoint& point) override;

protected:
    QPoint center_pos;
    bool in_area;
    int mwidth;
    int radius;
};

#endif // WATERFLOATBUTTON_H
